package Taulak;

import java.util.Vector;

import javax.swing.table.AbstractTableModel;

@SuppressWarnings("serial")
public  class MTBOrokorra  extends AbstractTableModel   {
       
        private Vector<String> columnNames = new Vector<String>();
        private Vector<Lerro> data = new Vector<Lerro>();
       
        public MTBOrokorra(Vector<String> pIz){
               
                izenakHasieratu(pIz);
        }
        public void izenakHasieratu(Vector<String> pIzen){
                 
                for (int i = 0; i<pIzen.size();i++) {
                 
                        columnNames.add(pIzen.get(i));
                       
                }
         }
       
       
        public String getColumnName(int column) {
                return columnNames.elementAt(column);
        }
 
        @Override
        public int getColumnCount() {
       
                return columnNames.size();
        }



        public int getRowCount() {
       
                return data.size();
       
        }

        @Override
        public Object getValueAt(int ler, int zut) {
               
               
                /*
                 * FIXME
                 */
               
                Object ema;
                int kan = getColumnCount();
               
                if(zut<getColumnCount()){
                Lerro l = getData(ler);
                ema = l.getBalioa(zut);
                }else{
               
                        ema = null;
                }
                return (ema);
       

               
        }
       
       
       
        public void kargatu(Lerro l) {
               
                        data.add(l);
               
                fireTableDataChanged();
               
        }
       

       
        public void taulaHasieratu(int ler){
               
               
                while (ler>0){
                       
                        data.remove(0);
                        ler--;
                }
               
                fireTableDataChanged();
               
        }
       
        public Lerro getRow(int i){
               
                Lerro l = data.get(i);
               
               
                return(l);
        }
       
        public Lerro getData(int pLer){
               
                Lerro l = data.elementAt(pLer);
               
                return(l);
        }
       
        public void lerroaEzabatu(int pLer){
                /*
                 * Eskatutako lerroa esabatu egiten du.
                 */
               
                data.remove(pLer);
               
                fireTableDataChanged();
        }
       
        public void setValueAt(Lerro l, int non){
               
                data.remove(non);
                data.add(non,l);
               
                fireTableDataChanged();
        }
       
        public Vector<Lerro> getDataOsoa(){
               
                return (data);
               
        }
       
        public Vector<String> getColumnNames(){
                return(columnNames);
        }
       
       

}

